const express = require("express");

// 创建服务实例
const app = express();

// get http://主机名/
app.get("/",(req,res) =>{
    // 直接通过req.query获取解析好的get请求参数
    console.log(req.query);
    res.send("<h1>Hello!您好！</h1>")
})

app.post("/",(req,res) =>{
    console.log(req.body);
    res.send("post请求")
})

// 动态路由
app.get("/find/:id/:name",(req,res) =>{
    console.log(req.params);
    let {id,name} = req.params;//{id:"123"};
    res.send(`你要访问的id是${id},name是${name}`)
})


//针对请求的中间件
app.get("/request",(req,res,next) =>{
    // res.send("请求到此为止");
    // 我们可以利用中间件 对请求对象进行一些加工，例如：添加、解析属性等等操作
    req.name = "middleware";
    // next回调函数 调用之后 就会将请求传递给下一个中间件
    next();//回调函数
})
app.get("/request",(req,res) =>{
    console.log(req.name);
    console.log("中间件");
    res.send("体会中间件")
})


//  请求中间件的第二种写法
app.get("/middle",(req,res,next) =>{
    if(req.query.a){
        next();
    }else{
        res.send("middle1")
    }
},(req,res) =>{
    console.log("middle2");
    res.send("middle2222");
})

app.listen(3009,() =>{
    console.log("服务已经启动，3009端口")
})